package com.xmy.solution.mapper;

import java.util.List;

import com.xmy.solution.domain.Categories;
import com.xmy.solution.domain.solutionCategory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 方案分类关系Mapper接口
 *
 * @author 夏明毅
 * @date 2024-12-29
 */
@Mapper
public interface SolutionCategoryMapper {
    /**
     * 查询方案分类关系
     *
     * @param solutionId 方案分类关系主键
     * @return 方案分类关系
     */
    public solutionCategory selectSolutionCategoryBySolutionId(Long solutionId);

    /**
     * 查询方案分类关系列表
     *
     * @param solutionCategory 方案分类关系
     * @return 方案分类关系集合
     */
    public List<solutionCategory> selectSolutionCategoryList(solutionCategory solutionCategory);

    /**
     * 根据方案id查询分类id
     *
     * @param solutionId
     * @return
     */
    @Select("select category_id from xmy_solution_category where solution_id=#{solutionId}")
    public List<Integer> selectBySolutionId(Integer solutionId);

    /**
     * 新增方案分类关系
     *
     * @param solutionCategory 方案分类关系
     * @return 结果
     */
    public int insertSolutionCategory(solutionCategory solutionCategory);

    /**
     * 修改方案分类关系
     *
     * @param solutionCategory 方案分类关系
     * @return 结果
     */
    public int updateSolutionCategory(solutionCategory solutionCategory);

    /**
     * 删除方案分类关系
     *
     * @param solutionId 方案分类关系主键
     * @return 结果
     */
    public int deleteSolutionCategoryBySolutionId(Long solutionId);

    /**
     * 批量删除方案分类关系
     *
     * @param solutionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSolutionCategoryBySolutionIds(Long[] solutionIds);

    /**
     * 批量插入数据
     *
     * @param solutionId
     * @param categoryID
     */
    void insertDatas(@Param("solutionId") Long solutionId, @Param("categoryIds") List<Long> categoryID);

    List<Categories> selectByCategoryIds(Long[] ids);
}
